/**
 * 
 */
package fr.kptn.musixmatchwrapper.util;

/**
 * All constants used to call the musiXmatch API
 * 
 * @author Sylvain
 * 
 */
public final class Constants {

	/** Name of the parameter for the API key **/
	public static final String PARAM_API_KEY = "apikey";

	/** Base URL of the API **/
	public static final String API_URL = "http://api.musixmatch.com/ws";

	/** Version of the API **/
	public static final String API_VERSION = "1.1";

	/** Name of the parameter for the generic query **/
	public static final String PARAM_QUERY = "q";

	/** Name of the parameter for the query on track name **/
	public static final String PARAM_QUERY_TRACK = "q_track";

	/** Name of the parameter for the query on artist name **/
	public static final String PARAM_QUERY_ARTIST = "q_artist";

	/** Name of the parameter for the query on artist or track names **/
	public static final String PARAM_QUERY_TRACK_ARTIST = "q_track_artist";

	/** Name of the parameter for the query on lyrics **/
	public static final String PARAM_QUERY_LYRICS = "q_lyrics";

	/** Name of the parameter for the query on track duration **/
	public static final String PARAM_QUERY_DURATION = "q_duration";

	/** Name of the parameter for the query on album name **/
	public static final String PARAM_QUERY_ALBUM = "q_album";

	/** Name of the parameter for the format of the response **/
	public static final String PARAM_FORMAT = "format";

	/** Name of the parameter for the requested results page number **/
	public static final String PARAM_PAGE_NUMBER = "page";

	/** Name of the parameter for the request results page size **/
	public static final String PARAM_PAGE_SIZE = "page_size";

	/** Name of the parameter for the filter on the presence of lyrics **/
	public static final String PARAM_FILTER_HAS_LYRICS = "f_has_lyrics";

	/** Name of the parameter for the filter on artist id **/
	public static final String PARAM_FILTER_ARTIST_ID = "f_artist_id";

	/** Name of the parameter for the filter on artist MusicBrainz id **/
	public static final String PARAM_FILTER_ARTIST_MB_ID = "f_artist_mbid";

	/** Name of the parameter for the quorum factor for the search **/
	public static final String PARAM_QUORUM_FACTOR = "quorum_factor";

	/** Name of the parameter for the track identifier **/
	public static final String PARAM_TRACK_ID = "track_id";

	/** Name of the parameter for the track identifier on MusicBrainz catalog **/
	public static final String PARAM_TRACK_MBID = "track_mbid";

	/** Name of the parameter for the country filter **/
	public static final String PARAM_COUNTRY = "country";

	/** Name of the parameter for the lyrics body **/
	public static final String PARAM_LYRICS_BODY = "lyrics_body";

	/** Name of the parameter for the lyrics identifier **/
	public static final String PARAM_LYRICS_ID = "lyrics_id";

	/** Name of the parameter for the feedback on lyrics **/
	public static final String PARAM_FEEDBACK = "feedback";

	/** Name of the parameter for the artist identifier **/
	public static final String PARAM_ARTIST_ID = "artist_id";

	/** Name of the parameter for the artist identifier on MusicBrainz catalog **/
	public static final String PARAM_ARTIST_MBID = "artist_mbid";

	/** Name of the parameter for grouping albums by name **/
	public static final String PARAM_GROUP_ALBUMS_BY_NAME = "g_album_name";

	/** Name of the parameter for the sort on release date **/
	public static final String PARAM_SORT_BY_RELEASE_DATE = "s_release_date";

	/** Name of the parameter for the album identifier **/
	public static final String PARAM_ALBUM_ID = "album_id";

	/** Name of the parameter for the domain name **/
	public static final String PARAM_DOMAIN_NAME = "domain";

	/** The URL delimiter **/
	public static final String URL_DELIMITER = "/";

	/** The URL parameters delimiter **/
	public static final String URL_PARAM_DELIMITER = "&";

	/** The URL value delimiter **/
	public static final String URL_VALUE_DELIMITER = "=";

	/** Value of the begin delimiter for URL parameters **/
	public static final String URL_BEGIN_PARAM_DELIMITER = "?";

	/** Encoding of the API responses **/
	public static final String API_ENCODING = "UTF-8";
}
